#include <stdlib.h>
#include "queue.h"

int main()
{
    DYMQueue que = DYMQueueCreate(3);
    DYMQueuePush(&que, 1);
    DYMQueuePush(&que, 2);
    DYMQueuePush(&que, 3);
    int ret = DYMQueuePush(&que, 4);
    if(ret != 0)
    {
        printf("进队错误，队列容量为 3，但是进队第四个数却返回操作成功\n");
    }
    
    DYMQueueDataType tmp = -1;
    DYMQueueTop(&que, &tmp);
    printf("%d ", tmp);
    DYMQueuePop(&que);
    DYMQueueTop(&que, &tmp);
    printf("%d ", tmp);
    DYMQueuePop(&que);
    DYMQueueTop(&que, &tmp);
    printf("%d ", tmp);
    DYMQueuePop(&que);

    ret =  DYMQueueTop(&que, &tmp);
    if(ret != 0)
    {
        printf("获取队首元素错误，当前队列没有元素，却正确获取了元素\n");
    }

    ret = DYMQueuePop(&que);
    if(ret != 0)
    {
        printf("元素出队错误，当前队列没有元素，但是出队操作却成功了\n");
    }

    DYMQueueDestory(&que);
    printf("\n");
    return 0;
}